package com.xjoyt.pay.gateway.params;

import javax.validation.constraints.NotNull;

import com.xjoyt.pay.vo.PayMethod;
import com.xjoyt.pay.vo.PayType;
import com.xjoyt.pay.vo.TradeType;

import io.swagger.annotations.ApiParam;

/**
 * 订单外部参数
 * 
 * @author Administrator
 *
 */
public class OrderParam {

	/**
	 * 商户订单号
	 */
	@NotNull
	public String outTradeNo;

	/**
	 * 金额(分)
	 */
	@NotNull
	public Long money;

	@NotNull
	public TradeType type;
	
	/**
	 * 授权码
	 */
	public String authCode;

	/**
	 * 支付方式
	 */
	public PayMethod payMethod;

	/**
	 * 支付类型
	 */
	@ApiParam(defaultValue="11",example="11.微信扫码,12.微信主扫,13.微信公众号,14.微信wap")
	public Integer payType;
	
	/**
	 * 商品描述
	 */
	@NotNull
	public String body;

	/**
	 * 商品详情
	 */
	public String detail;

	/**
	 * 下游通知地址
	 */
	@NotNull
	public String notifyUrl;

	/**
	 * 商户ID
	 */
	public String merchantId;

	/**
	 * 商品ID
	 */
	@NotNull
	public String productId;

	/**
	 * 前台通知地址
	 */
	public String successUrl;

	/**
	 * 前台回调地址
	 */
	public String callbackSuccessUrl;
	
	/**
	 * 系统回调地址
	 */
	public String callbackUrl;
}
